Cells and Sub-arrays
Certain functions and operators operate on particular cells or sub-arrays of an array, which are identified and described as follows.
K-Cells
A rank-k cell or k-cell of an array are terms used to describe a sub-array on the last k axes of the array. Negative k is interpreted as r+k where r is the rank of the array, and is used to describe a sub-array on the leading |k axes of an array.
If X is a 3-dimensional array of shape 2 3 4, the 1-cells are its 6 rows each of 4 elements; and its 2-cells are its 2 matrices each of shape 3 4. Its 3-cells is the array in its entirety. Its 0-cells are its individual elements.
Major Cells
The major cells of an array X is a term used to describe the sub-arrays on the leading dimension of the array X with shape 1↓⍴X. Using the k-cell terminology, the major cells are its ¯1-cells.
The major cells of a vector are its elements (0-cells). The major cells of a matrix are its rows (1-cells), and the major cells of a 3-dimensional array are its matrices along the first dimension (2-cells).
Examples
In the following, the major cells of A are 1979, 1990, 1997, 2007, and 2010; those of B are 'Thatcher', 'Major', 'Blair', 'Brown', and 'Cameron'; and those of C are the four 2-by-3 matrices.
A 1979 1990 1997 2007 2010 B Thatcher Major Blair Brown Cameron ⍴B 5 8 ⎕←C←4 2 3⍴⍳24 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Using the k-cell terminology, if r is the rank of the array, its major cells are its r-1-cells.
Note that if the right operand k of the Rank Operator ⍤ is negative, it is interpreted as 0⌈r+k. Therefore the value ¯1 selects the major cells of the array.